The developments described in this section are known to the inventors. However, unless otherwise indicated, it should not be assumed that any of the developments described in this section qualify as prior art merely by virtue of their inclusion in this section, or that those developments are known to a person of ordinary skill in the art.
Continuous integration (CI) is a software development practice that requires software developers to periodically integrate source code into a shared repository. The shared repository is usually managed by a source code management (SCM) system (also called revision-control or version-control system) that tracks and manages source code as it is written and revised. The revisions (also called commits) added to the SCM system are routinely verified by a CI management system—e.g. as and when they are added to the SCM system—allowing software development teams to detect and correct problems early.
Given different types and versions of computer systems, software developers often require their software applications to work in different environments (e.g., different operating systems, platforms, databases, or programs). For instance, a given software application may be required to be run on WINDOWS, OS400, AIX, LINUX, etc. Similarly, there may be interest in deploying the source code to different testing environments such as testing, staging, or live environments or to test the source code using different types of testing tools. In addition, developers may want to receive notifications of CI executions via different mediums. Typically, developers provide detailed information including commands and build logic for the particular environment, testing tools, and/or notification mechanisms they wish the CI management system to employ.
However, software developers often find it difficult to find/know the detailed information including the commands and logic required to perform these functions.